星巡研究院

渗透视角下的操作系统底层

**1. 干什么** CMD 是命令解释与外部命令启动器,自身无系统操作能力。PowerShell 运行于.NET CLR 之上,cmdlet 为.NET 方法,可在内存中实例化 COM 对象、编译执行 C#、加载程序集而不落盘。 **2. 谁在调** * 用户态主体:cmd.exe、powershell.exe(.NET CLR 宿主)。 * 系统层封装:CreateProcessW、.NET 类库、kernel32/advapi32 API。 * 内核态主体:与普通进程相同,经 ntdll 陷入,无独立权限提升。 **3. 做什么业务** CMD 把 dir 等请求转成 FindFirstFile 等 API 调用,外部命令一律 CreateProcess 拉起新程序。PowerShell 的 cmdlet 是.NET 类方法,可 New-Object 实例化 COM 对象、Add-Type 在内存编译 C# 并执行、把程序集载入内存运行,全程可不产生磁盘 exe。其权限等于启动进程的访问令牌,普通用户启动的 PowerShell 不具备 SYSTEM 能力。脚本
这是进阶内容

升级理论包获取本册全部章节,从机器本质系统入门